package com.kohler.blog.base.exception;

import com.kohler.blog.base.exception.exceptionType.BusinessException;

/**
 * 业务回滚异常工具类
 */
public class RollBackExceptionUtils {

    /**
     * 业务回滚，抛出特定异常
     *
     * @param message 错误信息
     */
    public static void rollback(String message) {
        throw new BusinessException(message);
    }

    /**
     * 业务回滚，抛出特定异常
     *
     * @param message 错误信息
     * @param code 错误码
     */
    public static void rollback(String message, String code) {
        throw new BusinessException(message, code);
    }

    /**
     * 业务回滚，抛出特定异常
     *
     * @param message 错误信息
     * @param cause 错误原因
     */
    public static void rollback(String message, Throwable cause) {
        throw new BusinessException(message, cause);
    }

    /**
     * 业务回滚，抛出特定异常
     *
     * @param message 错误信息
     * @param code 错误码
     * @param cause 错误原因
     */
    public static void rollback(String message, String code, Throwable cause) {
        throw new BusinessException(message, code, cause);
    }

//    /**
//     * 业务不需回滚，设置result返回
//     *
//     * @param message
//     */
//    public static Result setResult(String message) {
//        return Result.createWithErrorMessage(StringUtils.isBlank(message) ? "系统异常，请稍候..." : message, ErrorCode.OPERATION_FAIL);
//    }
}
